﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <assert.h>




//#define __DEBUG__
//int main()
//{
//	int i = 0;
//	int arr[10] = { 0 };
//	for (i = 0; i < 10; i++)
//	{
//		arr[i] = i;
//#ifdef __DEBUG__
//		printf("%d\n", arr[i]);//为了观察数组是否赋值成功。 
//#endif //__DEBUG__
//	}
//	return 0;
//}

//#define ARRAY_SIZE 20
////C99不支持变长数组，但VScode支持变长数组
//int main()
//{
//	int array[ARRAY_SIZE];
//	int i = 0;
//	for (i = 0; i < ARRAY_SIZE; i++)
//	{
//		array[i] = i;
//	}
//	for (i = 0; i < ARRAY_SIZE; i++)
//	{
//		printf("%d ", array[i]);
//	}
//	printf("\n");
//	return 0;
//}

////宏定义
//#define GENERIC_MAX(type) \
//type type##_max(type x, type y)\
//{ \
// return (x>y?x:y); \
//}
//
//GENERIC_MAX(int) //替换到宏体内后int##_max ⽣成了新的符号 int_max做函数名
//GENERIC_MAX(float) //替换到宏体内后float##_max ⽣成了新的符号 float_max做函数名
//int main()
//{
//	//调⽤函数
//	int m = int_max(2, 3);
//	printf("%d\n", m);
//	float fm = float_max(3.5f, 4.5f);
//	printf("%f\n", fm);
//	return 0;
//}

//#define MAX(a, b) ( (a) > (b) ? (a) : (b) )
//
//int main()
//{
//	int x = 5;
//	int y = 8;
//	int z = MAX(x++, y++);
//	printf("x=%d y=%d z=%d\n", x, y, z);//输出的结果是什么
//	return 0;
//}


//int main()
//{
//	printf("file:%s line:%d\n", __FILE__, __LINE__);
//	return 0;
//}

//int g_val = 2022;
//int Add(int x, int y)
//{
//	return x + y;
//}
////test.c
////声明外部函数
//extern int Add(int x, int y);
////声明外部的全局变量
//extern int g_val;
//int main()
//{
//	int a = 10;
//	int b = 20;
//	int sum = Add(a, b);
//	printf("%d\n", sum);
//	return 0;
//}